8a5b1ba5adc1061f20c3c9779877a06c0973e749,iNaturalist/src/main/java/org/inaturalist/android/UserIdentificationsAdapter.java,UserIdentificationsAdapter,getView,#number#View#ViewGroup#,54

Before Change



            JSONArray photos = observation.optJSONArray("photos");
            if ((photos != null) && (photos.length() > 0)) {
                UrlImageViewHelper.setUrlDrawable(idPic, photos.getJSONObject(0).getString("square_url"), ObservationPhotosViewer.observationIcon(item), new UrlImageViewCallback() {
                    @Override
                    public void onLoaded(ImageView imageView, Bitmap loadedBitmap, String url, boolean loadedFromCache) {
                        if (loadedBitmap != null)

After Change


        // Get the taxon display name according to device locale
        try {
            ImageView idPic = (ImageView) view.findViewById(mIsGrid ? R.id.observation_pic : R.id.id_pic);
            ImageView idIconicPic = (ImageView) view.findViewById(R.id.observation_iconic_pic);
            TextView idName = (TextView) view.findViewById(mIsGrid ? R.id.species_guess : R.id.id_name);
            TextView idTaxonName = (TextView) view.findViewById(R.id.id_taxon_name);

            idIconicPic.setImageResource(ObservationPhotosViewer.observationIcon(item));
            idIconicPic.setVisibility(View.VISIBLE);

            JSONObject observation = item.getJSONObject("observation");
            JSONObject taxon = item.getJSONObject("taxon");
            idName.setText(getTaxonName(taxon));
            if (!mIsGrid) idTaxonName.setText(String.format(mContext.getString(R.string.users_identification), mUsername, getTaxonName(taxon)));

            if (mIsGrid) {
                mDimension = mGrid.getColumnWidth();
                idPic.setLayoutParams(new RelativeLayout.LayoutParams(mDimension, mDimension));
                idIconicPic.setLayoutParams(new RelativeLayout.LayoutParams(mDimension, mDimension));
                int newPadding = (int) (mDimension * 0.48 * 0.5); // So final image size will be 48% of original size
                idIconicPic.setPadding(newPadding, newPadding, newPadding, newPadding);
            }

            JSONArray photos = observation.optJSONArray("photos");
            if ((photos != null) && (photos.length() > 0)) {
                idPic.setVisibility(View.VISIBLE);

                UrlImageViewCallback callback = new UrlImageViewCallback() {
                    @Override
                    public void onLoaded(ImageView imageView, Bitmap loadedBitmap, String url, boolean loadedFromCache) {
                        if (loadedBitmap != null)
                            imageView.setImageBitmap(ImageUtils.getRoundedCornerBitmap(loadedBitmap, 4));

                        if (mIsGrid) {
                            imageView.setLayoutParams(new RelativeLayout.LayoutParams(mDimension, mDimension));
                        }

                        if (!loadedFromCache) {
                            Animation animation = AnimationUtils.loadAnimation(mContext, R.anim.fade_in);
                            imageView.startAnimation(animation);
                        }
                    }

                    @Override
                    public Bitmap onPreSetBitmap(ImageView imageView, Bitmap loadedBitmap, String url, boolean loadedFromCache) {
                        return loadedBitmap;
                    }
                };

                UrlImageViewHelper.setUrlDrawable(idPic, photos.getJSONObject(0).getString("square_url"), callback);
            } else {
                idPic.setVisibility(View.INVISIBLE);
            }

            view.setTag(item);